package iface

type IServer interface {
	// 初始化服务
	Init()
	// 启动服务
	Start()
	// 停止服务
	Stop()
	// 通过路由实现不同的协议处理
	AddHandle(msgID uint32, router IHandle)
	// 加入定义好的所有消息id对应的处理方法
	AddAllHandles(handles map[uint32]IHandle)

	// 获取session管理
	GetSessionMgr() ISessionManager

	// 连接创建hook
	SetCreateConnHook(func(session ISession))
	// 连接断开hook
	SetCloseConnHook(func(session ISession))
	// 创建hook
	OnCreateConnHook(session ISession)
	// 断开hook
	OnCloseConnHook(session ISession)
}
